package models

import (
	"gorm.io/gorm"
	"pro/global"
)

// 用户表
type User struct {
	gorm.Model
	Mobile string `gorm:"type:char(11);comment:'手机号'"`
}

func (u *User) GetUserByMobile(mobile string) error {
	return global.DB.Where("mobile=?", mobile).Limit(1).Find(&u).Error
}

func (u *User) Register() error {
	return global.DB.Create(&u).Error
}

func (u *User) GetUserById(id int) error {
	return global.DB.Where("id=?", id).Limit(1).Find(&u).Error
}

// 用户信息表
type UserInfo struct {
	gorm.Model
	UserId      int    //用户ID
	Image       string //头像
	NickName    string //昵称
	Age         int    //年龄
	Email       string //电子邮箱
	FollowCount int    //关注数
	FansCount   int    //粉丝数
}

func (u *UserInfo) UpdateUserInfo(id int) error {
	return global.DB.Model(&u).Where("user_id=?", id).Updates(&u).Error
}

func (u *UserInfo) GetUserInfoById(id int) error {
	return global.DB.Where("user_id=?", id).Limit(1).Find(&u).Error
}

// 登录日志表
type LoginLog struct {
	gorm.Model
	UserId int    //用户ID
	Status string `gorm:"type:char(11);default:'1';comment:'登录状态'"`
	Token  string //令牌
}

func (l *LoginLog) CreateLL() error {
	return global.DB.Create(&l).Error
}
